html, body {
  margin: 0;           
  padding: 0;          
  height: 100%;        
  background-color: #efd9eb; 
  text-align: center;
}

:root {
  --container: 600px;   
}


h1 {
  display: inline-block;
  padding: 1rem 2rem;
  border-radius: 12px 0 12px 0; 
  background: #c7f0bd;        
  color: #582758;               
  font-family: monospace;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
  border: 2px solid transparent;
}

h1:hover {
  background: #d8f9cd;    
  transform: translateY(-4px); 
  box-shadow: 4px 4px 12px rgba(0,0,0,0.25);
}


.perfil__subtitulo {
  font-size: 1,9rem;    
  font-family: monospace;   
  font-weight: normal;  
  color: #582758;
  margin: 0;             
}


img {
  display: block;
  margin: 50px auto 0 auto;
  max-width: 300px;
  border: 4px solid #582758;
  border-top-left-radius: 20px;
  border-bottom-right-radius: 20px;
  box-shadow: 4px 4px 12px rgba(0,0,0,0.3);
  filter: grayscale(100%);
  transition: filter 0.5s ease, 
              transform 0.3s ease, 
              box-shadow 0.4s ease;
}

img:hover {
  filter: grayscale(0%); 
  transform: scale(1.03); 
  box-shadow: 0 0 25px #8fffb3; 
}


.materias {
  max-width: var(--container);  
  margin: 2rem auto;
  font-family: monospace
}

h2{
  font-family: monospace;
  color: #3a113d;
}

.cards-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr); 
  gap: 1rem; 
}

.card {
  background-color: #f3d9eb; 
  border: none;
  border-radius: 10px;
  padding: 1rem;
  box-shadow: 3px 3px 8px rgba(0,0,0,0.2);
  text-align: center;
  transition: all 0.3s ease; 
}

.card:hover {
  background-color: #c7f0bd; 
  box-shadow: 6px 6px 16px rgba(0,0,0,0.3);
  transform: translateY(-5px); 
}

.card h3 {
  margin-bottom: 0.8rem;
  font-size: 1.2rem;
  font-weight: bold;
  color: #582758; 
  border-bottom: 1px solid #ccc;
  padding-bottom: 0.3rem;
  transition: color 0.3s ease; 
}

.card:hover h3 {
  color: #2e5339; 
}



.info-uni {
  max-width: var(--container);   
  margin: 1rem auto;             
  text-align: center;            
  font-size: 1rem;   
  font-family: monospace;         
  line-height: 1.6;              
  color: #3a113d;                
}



.links-estudiantes {
  max-width:var(--container);
  margin: 0 auto;
  text-align: center;
  font-family: monospace;
  font-size: 1,8rem;

}


.estudiantes {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center; 
  gap: 1rem;              
}

.estudiantes li a {
  display: inline-block;
  padding: 0.5rem 1rem;
  background-color: #c7f0bd;  
  color: #582758;            
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.2);
  transition: background-color 0.3s ease, color 0.3s ease;
}

.estudiantes li a:hover {
  background-color: #582758;  
  color: #fff;               
}


.volver {
  display: inline-block;
  margin: 2rem auto;
  padding: 0.6rem 1.2rem;
  background: #bd5bbd;     
  color: #fff;              
  font-weight: 700;
  font-size: 1rem;
  border-radius: 10px;
  text-decoration: none;
  box-shadow: 2px 2px 8px rgba(0,0,0,.25);
  transition: background .25s ease, color .25s ease, transform .1s ease;
  text-align: center;
}

.volver:link,
.volver:visited {
  color: #fff;   
  text-decoration: none;
}

.volver:hover,
.volver:focus {
  background: #c7f0bd;  
  color: #df54df;       
  transform: translateY(-2px);
}

.volver:active {
  background: #961d9c;  
  color: #fff;
}



.datos-academicos{
  max-width: 600px;     
  margin: 2rem auto;    
  text-align: left;    
  font-family: monospace; 
  font-size: 1rem;
}


.datos-academicos .contenedor{
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 30px;            
}

.datos-academicos .col{
  flex: 1;
}


.col-titulo{
  margin: 0 0 .75rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #582758;       
  border-bottom: 2px solid #582758;
  padding-bottom: .25rem;
}


.datos-academicos p{
  margin: 0 0 .5rem;
  line-height: 1.5;
}


.divider{
  width: 2px;
  background-color: #582758;
}




footer{
    background-color: #a08fa0;
    color: azure;
    font-size: 0,8rem;
    text-align: center;
    font-family: monospace;
  padding: 1rem 2rem;         
  max-width: 600px;           
  margin: 2rem auto;          
  border-radius: 10px;        
  text-align: center;         
}


